package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

/**
 * 抖音商品对象 tl_dy_goods
 *
 * @author ruoyi
 * @date 2023-10-19
 */
@Document(indexName = "dygoods", shards = 1, replicas = 0)
public class TlDyGoods
{
    private static final long serialVersionUID = 1L;

    /** 抖音商品主键 */
    @JsonProperty(value = "id")
    @Id
    private Long id;

    /** 抖音商品id */
    @Excel(name = "抖音商品id")
    @JsonProperty(value = "product_id")
    @Field(type = FieldType.Keyword)
    private String productId;

    /** 分类id */
    @Excel(name = "分类id")
    @JsonProperty(value = "category_id")
    @Field(type = FieldType.Long)
    private Long categoryId;

    /** 分类名称 */
    @Excel(name = "分类名称")
    @JsonProperty(value = "category_name")
    @Field(type = FieldType.Keyword)
    private String categoryName;

    /** 标题 */
    @Excel(name = "标题")
    @JsonProperty(value = "title")
    @Field(type = FieldType.Keyword)
    private String title;

    /** 封面链接 */
    @Excel(name = "封面链接")
    @JsonProperty(value = "cover")
    @Field(type = FieldType.Keyword)
    private String cover;

    /** 价格 */
    @Excel(name = "价格")
    @JsonProperty(value = "price")
    @Field(type = FieldType.Double)
    private Double price;

    /** 状态 */
    @Excel(name = "状态")
    @JsonProperty(value = "status")
    @Field(type = FieldType.Keyword)
    private String status;

    /** 添加时间 */
    @Excel(name = "添加时间")
    @JsonProperty(value = "addTime")
    @Field(type = FieldType.Keyword)
    private String addTime;

    /** 更新时间 */
    @Excel(name = "更新时间")
    @JsonProperty(value = "upTime")
    @Field(type = FieldType.Keyword)
    private String upTime;

    /** $column.columnComment */
    @JsonProperty(value = "labelIds")
    @Field(type = FieldType.Keyword)
    private String labelIds;

    /** 店铺名称 */
    @Excel(name = "店铺名称")
    @JsonProperty(value = "shop_name")
    @Field(type = FieldType.Keyword)
    private String shopName;

    /** 评论数 */
    @Excel(name = "评论数")
    @JsonProperty(value = "comment_num")
    @Field(type = FieldType.Long)
    private Long commentNum;

    /** 评分 */
    @Excel(name = "评分")
    @JsonProperty(value = "comment_score")
    @Field(type = FieldType.Long)
    private String commentScore;

    /** $column.columnComment */
    @JsonProperty(value = "coupon_price")
    @Field(type = FieldType.Keyword)
    private Double couponPrice;

    /** 是否有库存 */
    @Excel(name = "是否有库存")
    @JsonProperty(value = "in_stock")
    @Field(type = FieldType.Keyword)
    private String inStock;

    /** 佣金比率 */
    @Excel(name = "佣金比率")
    @JsonProperty(value = "kol_num")
    @Field(type = FieldType.Double)
    private Double kolNum;

    /** 销量 */
    @Excel(name = "销量")
    @JsonProperty(value = "sales")
    @Field(type = FieldType.Long)
    private Long sales;

    /** $column.columnComment */
    @JsonProperty(value = "has_sxt")
    @Field(type = FieldType.Keyword)
    private String hasSxt;

    /** 详情页链接 */
    @Excel(name = "详情页链接")
    @JsonProperty(value = "detail_url")
    @Field(type = FieldType.Keyword)
    private String detailUrl;

    /** 订单量 */
    @Excel(name = "订单量")
    @JsonProperty(value = "order_num")
    @Field(type = FieldType.Keyword)
    private Long orderNum;

    /** 第一分类id */
    @Excel(name = "第一分类id")
    @JsonProperty(value = "first_cid")
    @Field(type = FieldType.Long)
    private Long firstCid;

    /** 第二分类id */
    @Excel(name = "第二分类id")
    @JsonProperty(value = "second_cid")
    @Field(type = FieldType.Long)
    private Long secondCid;

    /** 店铺id */
    @Excel(name = "店铺id")
    @JsonProperty(value = "shop_id")
    @Field(type = FieldType.Long)
    private Long shopId;

    /** 第三分类id */
    @Excel(name = "第三分类id")
    @JsonProperty(value = "third_cid")
    @Field(type = FieldType.Long)
    private Long thirdCid;

    /** 专向链接 */
    @Excel(name = "专向链接")
    @JsonProperty(value = "is_assured")
    @Field(type = FieldType.Keyword)
    private Long isAssured;

    /** 两小时销量 */
    @Excel(name = "两小时销量")
    @JsonProperty(value = "twohour")
    @Field(type = FieldType.Long)
    private Long twohour;

    /** 日销量 */
    @Excel(name = "日销量")
    @JsonProperty(value = "oneday")
    @Field(type = FieldType.Long)
    private Long oneday;

    /** 周销量 */
    @Excel(name = "周销量")
    @JsonProperty(value = "week")
    @Field(type = FieldType.Long)
    private Long week;

    /** 月销量 */
    @Excel(name = "月销量")
    @JsonProperty(value = "month")
    @Field(type = FieldType.Long)
    private Long month;

    /** $column.columnComment */
    @JsonProperty(value = "activity_cos_ratio")
    @Field(type = FieldType.Double)
    private Double activityCosRatio;

    /** $column.columnComment */
    @JsonProperty(value = "corp_id")
    @Field(type = FieldType.Long)
    private Long corpId;

    /** $column.columnComment */
    @JsonProperty(value = "promotion_start_time")
    @Field(type = FieldType.Keyword)
    private String promotionStartTime;

    /** $column.columnComment */
    @JsonProperty(value = "promotion_end_time")
    @Field(type = FieldType.Keyword)
    private String promotionEndTime;

    /** 原始价格 */
    @Excel(name = "原始价格")
    @JsonProperty(value = "origin_price")
    @Field(type = FieldType.Keyword)
    private Double originPrice;

    /** 产品库存 */
    @Excel(name = "产品库存")
    @JsonProperty(value = "product_stock")
    @Field(type = FieldType.Long)
    private Long productStock;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProductId(String productId)
    {
        this.productId = productId;
    }

    public String getProductId()
    {
        return productId;
    }
    public void setCategoryId(Long categoryId)
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId()
    {
        return categoryId;
    }
    public void setCategoryName(String categoryName)
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName()
    {
        return categoryName;
    }
    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }
    public void setCover(String cover)
    {
        this.cover = cover;
    }

    public String getCover()
    {
        return cover;
    }
    public void setPrice(Double price)
    {
        this.price = price;
    }

    public Double getPrice()
    {
        return price;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setAddTime(String addTime)
    {
        this.addTime = addTime;
    }

    public String getAddTime()
    {
        return addTime;
    }
    public void setUpTime(String upTime)
    {
        this.upTime = upTime;
    }

    public String getUpTime()
    {
        return upTime;
    }
    public void setLabelIds(String labelIds)
    {
        this.labelIds = labelIds;
    }

    public String getLabelIds()
    {
        return labelIds;
    }
    public void setShopName(String shopName)
    {
        this.shopName = shopName;
    }

    public String getShopName()
    {
        return shopName;
    }
    public void setCommentNum(Long commentNum)
    {
        this.commentNum = commentNum;
    }

    public Long getCommentNum()
    {
        return commentNum;
    }
    public void setCommentScore(String commentScore)
    {
        this.commentScore = commentScore;
    }

    public String getCommentScore()
    {
        return commentScore;
    }
    public void setCouponPrice(Double couponPrice)
    {
        this.couponPrice = couponPrice;
    }

    public Double getCouponPrice()
    {
        return couponPrice;
    }
    public void setInStock(String inStock)
    {
        this.inStock = inStock;
    }

    public String getInStock()
    {
        return inStock;
    }
    public void setKolNum(Double kolNum)
    {
        this.kolNum = kolNum;
    }

    public Double getKolNum()
    {
        return kolNum;
    }
    public void setSales(Long sales)
    {
        this.sales = sales;
    }

    public Long getSales()
    {
        return sales;
    }
    public void setHasSxt(String hasSxt)
    {
        this.hasSxt = hasSxt;
    }

    public String getHasSxt()
    {
        return hasSxt;
    }
    public void setDetailUrl(String detailUrl)
    {
        this.detailUrl = detailUrl;
    }

    public String getDetailUrl()
    {
        return detailUrl;
    }
    public void setOrderNum(Long orderNum)
    {
        this.orderNum = orderNum;
    }

    public Long getOrderNum()
    {
        return orderNum;
    }
    public void setFirstCid(Long firstCid)
    {
        this.firstCid = firstCid;
    }

    public Long getFirstCid()
    {
        return firstCid;
    }
    public void setSecondCid(Long secondCid)
    {
        this.secondCid = secondCid;
    }

    public Long getSecondCid()
    {
        return secondCid;
    }
    public void setShopId(Long shopId)
    {
        this.shopId = shopId;
    }

    public Long getShopId()
    {
        return shopId;
    }
    public void setThirdCid(Long thirdCid)
    {
        this.thirdCid = thirdCid;
    }

    public Long getThirdCid()
    {
        return thirdCid;
    }
    public void setIsAssured(Long isAssured)
    {
        this.isAssured = isAssured;
    }

    public Long getIsAssured()
    {
        return isAssured;
    }
    public void setTwohour(Long twohour)
    {
        this.twohour = twohour;
    }

    public Long getTwohour()
    {
        return twohour;
    }
    public void setOneday(Long oneday)
    {
        this.oneday = oneday;
    }

    public Long getOneday()
    {
        return oneday;
    }
    public void setWeek(Long week)
    {
        this.week = week;
    }

    public Long getWeek()
    {
        return week;
    }
    public void setMonth(Long month)
    {
        this.month = month;
    }

    public Long getMonth()
    {
        return month;
    }
    public void setActivityCosRatio(Double activityCosRatio)
    {
        this.activityCosRatio = activityCosRatio;
    }

    public Double getActivityCosRatio()
    {
        return activityCosRatio;
    }
    public void setCorpId(Long corpId)
    {
        this.corpId = corpId;
    }

    public Long getCorpId()
    {
        return corpId;
    }
    public void setPromotionStartTime(String promotionStartTime)
    {
        this.promotionStartTime = promotionStartTime;
    }

    public String getPromotionStartTime()
    {
        return promotionStartTime;
    }
    public void setPromotionEndTime(String promotionEndTime)
    {
        this.promotionEndTime = promotionEndTime;
    }

    public String getPromotionEndTime()
    {
        return promotionEndTime;
    }
    public void setOriginPrice(Double originPrice)
    {
        this.originPrice = originPrice;
    }

    public Double getOriginPrice()
    {
        return originPrice;
    }
    public void setProductStock(Long productStock)
    {
        this.productStock = productStock;
    }

    public Long getProductStock()
    {
        return productStock;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productId", getProductId())
            .append("categoryId", getCategoryId())
            .append("categoryName", getCategoryName())
            .append("title", getTitle())
            .append("cover", getCover())
            .append("price", getPrice())
            .append("status", getStatus())
            .append("addTime", getAddTime())
            .append("upTime", getUpTime())
            .append("labelIds", getLabelIds())
            .append("shopName", getShopName())
            .append("commentNum", getCommentNum())
            .append("commentScore", getCommentScore())
            .append("couponPrice", getCouponPrice())
            .append("inStock", getInStock())
            .append("kolNum", getKolNum())
            .append("sales", getSales())
            .append("hasSxt", getHasSxt())
            .append("detailUrl", getDetailUrl())
            .append("orderNum", getOrderNum())
            .append("firstCid", getFirstCid())
            .append("secondCid", getSecondCid())
            .append("shopId", getShopId())
            .append("thirdCid", getThirdCid())
            .append("isAssured", getIsAssured())
            .append("twohour", getTwohour())
            .append("oneday", getOneday())
            .append("week", getWeek())
            .append("month", getMonth())
            .append("activityCosRatio", getActivityCosRatio())
            .append("corpId", getCorpId())
            .append("promotionStartTime", getPromotionStartTime())
            .append("promotionEndTime", getPromotionEndTime())
            .append("originPrice", getOriginPrice())
            .append("productStock", getProductStock())
            .toString();
    }
}
